草庐IT

Android:Asynctask 中的多个参数

全部标签

ruby-on-rails - Ruby 中的线程安全枚举器

TLDR:Ruby中是否有Enumerator类的线程安全版本?我正在尝试做的事情:我想在RubyOnRails应用程序中同时运行一个方法。该方法应该创建一个包含站点报告的zip文件,其中zip中的每个文件都是PDF。从html到PDF的转换有点慢,因此需要多线程。我希望如何做到这一点:我想使用5个线程,所以我想我应该在线程之间共享一个枚举器。每个线程都会从枚举器中弹出一个值,然后运行它。这是我认为它会起作用的方式:t=Zip::OutputStream::write_bufferdo|z|mutex=Mutex.newgen=Enumerator.new{|g|Report.all.

ruby - Ruby Gemspec 中的条件依赖

我正在构建一个需要安装jsongem才能运行的gem。哪个jsongem并不重要:json_pure、json-jruby或基于C的json。是否有在gemspec中定义它的好方法?Thisresponse建议为每个版本维护一个完全独立的gem,但似乎必须有更好的方法。有人有这方面的经验吗?我应该只使用spec.requirements吗?通知用户他/她需要jsongem的选项? 最佳答案 是的,我会在spec.requirements中建议一个简单的文本要求。我还建议在gem首次加载时进行某种加载链接:#ininit.rband/

ruby - 为什么带有 splat 参数的 Ruby 过程/ block 的行为与方法和 lambda 不同?

为什么带有splat参数的Ruby(2.0)过程/block的行为与方法和lambda不同?deffoo(ids,*args)pidsendfoo([1,2,3])#=>[1,2,3]bar=lambdado|ids,*args|pidsendbar.call([1,2,3])#=>[1,2,3]baz=procdo|ids,*args|pidsendbaz.call([1,2,3])#=>1defqux(ids,*args)yieldids,*argsendqux([1,2,3]){|ids,*args|pids}#=>1这是对此行为的确认,但没有解释:http://makandra

ruby - ActionDispatch::IntegrationTest 中的 stub 方法

我正在做一些条纹集成测试,我想stub/模拟一些端点。我正在尝试这样做:Stripe::Charge.stubs(:retrieve).returns({:balance_transaction=>40})但我得到以下信息:NoMethodError:undefinedmethod`stubs'forStripe::Charge:Classstub的正确语法是什么?Rails4、Ruby2。编辑:这是我的完整测试方法。本质上,我的payment_succeededwebhook命中strip以检索费用及其相关的余额交易以记录交易费用。我正在使用stripe_mock来模拟webhook

ruby - gemspec 中的条件 ruby​​ gem 依赖项

我正在构建一个在迁移中使用外键的Rails引擎。add_foreign_key"theblog_content_nodes","theblog_content_statuses",column::content_status_id从4.2版本开始,rails本身就支持外键,但在我们为此使用foreignergem之前。如果我们尝试将foreigner与rails4.2及更新版本一起使用,我们会收到错误消息。因为我要从4.0.1开始支持Rails,所以我必须在我的gemspec中使用条件依赖。我找到了可能的解决方案here但我不知道如何在gemspec中检查rails版本。#sideki

ruby - Ruby 守护进程中的错误文件描述符

在MacOSXLion上使用Rubyv1.8.7和Daemonsv1.1.8,我试图编写一个消费者进程并让它作为守护进程运行:#config[:name]=>'idx_my_delete_consumer'#config[:daemon]=>{:multiple=>false,#:backtrace=>true,#:dir_mode=>:normal,#:log_dir=>'/Users/pprakash/consumer.log',#:monitor=>true,#:dir=>'/Users/pprakash/pids'}Daemons.run_proc(config[:name],

ruby - 一个网络服务器上有多个 Ruby 版本?

理想使用rvm,如果能够在一个网络服务器上拥有多个Rubies,并且通过某种服务器配置,能够在每个项目的基础上将Ruby版本分配给不同的Rails/Sinatra/等应用程序,那将是非常棒的。我从rvm的文档中了解到,Passenger一次只能使用一个Ruby。:(妥协否则,至少能够想出一种方法将项目分配给Ruby1.8或Ruby1.9解释器会很好。我读过使用Nginx作为反向代理允许在同一个盒子上运行Apache和Nginx。那么是否有可能让Apache+Passenger使用一个Ruby,而Nginx+Passenger使用另一个?也许在Nginx中使用Passenger以外的东西

ruby-on-rails - ruby 中的死代码检测

有谁知道可以检测哪些代码行已被执行或未执行的具有生产值(value)的商业软件包或OSS?我们正在寻找一些工具来帮助我们检测生产环境中的死代码,运行RubyOnRails1.8.7-丹尼尔 最佳答案 在Ruby1.9.2中,您可以简单地测量覆盖率而不会对性能产生重大影响。然而,在1.8.7中,这会大大降低速度。相反,您可以使用perftools.rb了解所用内容的概览。(使用CPUPROFILE_METHODS=1选项)。据我所知,它实际上对应用程序性能没有影响,它可以让您看到调用了哪些方法,尽管您不会获得有关不同代码路径(ifs和

ruby-on-rails - Ruby/Rails 中的检测 API 的用途是什么?

基于:http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html它说:NotificationsprovidesaninstrumentationAPIforRuby.ToinstrumentanactioninRubyyoujustneedtodo:InstrumentationAPI到底是什么,它有什么作用?谢谢! 最佳答案 关于这个主题有一个非常好的railscast:http://railscasts.com/episodes/249-notific

ruby - 防止 ruby​​ sinatra 中的 session 固定

ruby中的大多数session固定主题都与Rails相关。sinatra中是否存在任何session固定漏洞?在rails中,我们通常建议在分配session之前执行reset_session。我们如何防止sinatra中的session固定? 最佳答案 Sinatra默认使用Rack::Protectiongem来防止许多常见漏洞。您可能对其session劫持保护特别感兴趣。这些是Rack::Protectiongem防止的一些事情:跨站请求伪造真实性token:如果给定的访问token与session中包含的token相匹配,